const db = require('./db');

// var arr = [
//     { id: 1, imgUrl:'/images/logo1.jpeg' },
//     { id: 2, imgUrl:'/images/logo2.jpeg' },
//     { id: 3, imgUrl:'/images/logo3.jpeg' },
// ]
// // 对数组进行for循环，并插入到mysql的banner去
// arr.map(val=>{
//     let sql=`insert into banner values(${val.id},'${val.imgUrl}');`
//     db.query(sql,(err,data)=>{
//         if(err) throw err;
//         console.log(data);
//     })
// })
// // 修改数据
// // update banner set imgUrl='/images/logo3.jpeg' where id=3;
// 读取文件进去
const fs = require('fs');
const path = require('path');

function readFileFn(arg) {
    // let mypath=path.join(__dirname,`../assets/${arg}.txt`)
    // //readFile是一个异步函数
    // fs.readFile(mypath,(err,data)=>{
    //     if(err) throw err;
    //     console.log(data.toString());//这里读取到的文件是二进制文件流，因此要转字符串
    // })
    return new Promise((resolve, reject) => {
        let mypath = path.join(__dirname, `../assets/${arg}.txt`)
        //readFile是一个异步函数
        fs.readFile(mypath, (err, data) => {
            if (err) throw err;
            //这里读取到的文件是二进制文件流，因此要转字符串
            resolve(data.toString());
        })
    })
}
// let angularTxt = readFileFn('angular');
// let vueTxt = readFileFn('vue');
// let reactTxt = readFileFn('react');

// 要保证先执行readFileFn，拿到txt，再插入进去数据库，所以用到async
let fn = async () => {
    let angularTxt = await readFileFn('angular');
    let vueTxt = await readFileFn('vue');
    let reactTxt = await readFileFn('react');
    let arr = [
        { id: 4 ,imgUrl:vueTxt},
        { id: 5 ,imgUrl:angularTxt},
        { id: 6 ,imgUrl:reactTxt},
    ]

    // 根据arr有多少项，来决定插入几条数据到表中
    arr.map(val => {
        let sql = `insert into banner values(${val.id},'${val.imgUrl}');`
        db.query(sql, (err, data) => {
            if (err) throw err;
            console.log(data);
        })
    })
}
fn();

